package com.cuvretool.view.coordinate;

import com.cuvretool.utils.Vector2;

/**
 * 转换显示窗口和做图显示之间的坐标
 * since 2015年2月16日 下午11:55:03
 * @author boy
 */
abstract public class Transform {
	// ===========================================================
	// Constants
	// ===========================================================

	// ===========================================================
	// Fields
	// ===========================================================
	/**显示窗口的宽高*/
	protected float mDisplayWidth,mDisplayHeight;
	/**做图显示的宽高*/
	protected float mDrawWidth,mDrawHeight;
	// ===========================================================
	// Constructors
	// ===========================================================

	// ===========================================================
	// Getter & Setter
	// ===========================================================
	/**设置显示窗口宽高*/
	public void setDisplaySize(float wh,float hd){
		mDisplayWidth = wh;
		mDisplayHeight = hd;
	}
	/**获取显示窗口宽高*/
	public Vector2 getDisplaySize(){
		return new Vector2(mDisplayWidth, mDisplayHeight);
	}
	/**设置做图显示宽高*/
	public void setDrawSize(float wh,float hd){
		mDrawWidth = wh;
		mDrawHeight = hd;
	}
	/**设置做图显示宽高*/
	public Vector2 getDrawSize(){
		return new Vector2(mDrawWidth, mDrawHeight);
	}
	// ===========================================================
	// Methods for/from SuperClass/Interfaces
	// ===========================================================

	// ===========================================================
	// Methods
	// ===========================================================
	/**
	 * 显示窗口转换到做图显示
	 * @return
	 */
	abstract public boolean TransformDisplayToDraw();
	/**
	 * 做图显示转换到显示窗口
	 * @return
	 */
	abstract public boolean TransformDrawToDisplay();
	// ===========================================================
	// Inner and Anonymous Classes
	// ===========================================================
}
